#include<bits/stdc++.h>
#define int long long 
using namespace std;
		
const int maxn = 1e6 + 10;
int nex[maxn];
char p[maxn];
char s[maxn];
		
void solve(){
	cin >> (p+1); // 从 1 下标开始放
	cin>>(s+1);
	int m = strlen(p+1);
	int n=strlen(s+1);
	// 先求出 p 模式串的 next 数组
	nex[0]=nex[1]=0;
	for (int i=2, j=0;i<=m;i++) {
		while(j&&p[i]!=p[j+1]) j=nex[j];
		// 自己与自己匹配
		if (p[i]==p[j+1]) j++;
		
		nex[i]=j; // 注意这里面是 p 与自己匹配, 所以 是 i 而不是 j
	}
	
	int ans=0; // 记录了 字串出现的次数
	
	// 开始匹配两个字符串
	for (int i=1, j=0;i<=n;i++) {
		while(j&&s[i] != p[j+1])j=nex[j];
		
		if (s[i]==p[j+1]) j++;
		
		if (j==m) ans++;
		
	}
	cout << ans <<'\n';
}
		
		
		
signed main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	solve();
	return 0;
}
